package cn.dglydrpy.study.algorithm.od;

/**
 * @author Yyy
 * @date 2024/11/10 19:25
 * @description
 * 小明从糖果盒抓一把糖果，每次取一半分给同学，若不能平均分，可从盒中取一个或放回一个，
 * 求将手中糖果分至只剩一颗最少需要的操作次数（取出、放回和平均分配均记一次）
 */
public class Od0041_HandOutCandy {
    public static void main(String[] args) {
        int input = 27;
        System.out.println(myAnswer(input));
    }

    private static int myAnswer(int input) {
        if(input == 0 || input == 1){
            return input;
        }
        
        int ans = 0;
        
        while(input != 1){
            if(input % 2 == 0){
                input = input / 2;
            }else{
                input = input - 1;
            }
            ans++;
        }

        return ans;
        
    }
}
